// 随机生成一个 1至100000的整数，并把数值转换为中文数字.
//     例： 99999 = 九万九千九百九十九

function getRandomNum() {
    return Math.floor(Math.random() * (100000 - 1) + 1);
}

const numchars1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
const keyhars2 = ['', '十', '百', '千', '万', '十万'];

function convertNum() {
    // let num = getRandomNum();
    let num = 10000;
    console.log(num);
    //存放每一位上策数字，54321 => [1,2,3,4,5]
    let numArr = [];
    while (num) {
        let temp = num % 10;
        numArr.push(temp);
        num = Math.floor(num / 10);
    }
    console.log(numArr);
    let res = '';
    for (let key in numArr) {
        let val = numArr[key];
        console.log(key + "---" + val);
        if (keyhars2[key] != undefined) {
            let cur = '';
            // 当前值是否为零
            if (val == 0) {
                console.log("是0");
                // 当前值为零，如果key为最后一位，可以不读;
                // 只需考虑中间的零
                // if (key == 0) 
                // { console.log("是0"); }
                // else 
                if (key != 0) {
                    console.log(res);
                    //中间位为0可以不加单位，但是零要读（重复的0还是要再处理）
                    // if (res[0] == '零') {
                    //因为数是从小往大的拼接起来的，所以在此次读到零的时候，直接看后面要拼的字符串的开头是不是零
                    //是零，直接跳过这次的加零  curr=''
                    // console.log(res[0]);
                    // } else {
                    if (res[0] != '零') {
                        cur = numchars1[val];
                    }
                }
            } else {// 不是则直接拼接
                cur = numchars1[val] + keyhars2[key];
            }
            console.log(cur);
            res = cur + res;
        }
        console.log(res);

    }
    //最后得到resStr之后看indexOf（'零'），如果尾巴只有零，就裁剪掉  60000这种情况
    if (res.indexOf('零') == res.length - 1) {
        res = res.slice(0, -1)
    }
    return res;
}

convertNum();

